.video {
  .box__top form {
    position: relative;

    span {
      position: absolute;
      left: 10px;
      top: 7px;
      font-size: 1.4em;
      opacity: 0.6;
    }

    input {
      text-indent: 23px;
    }
  }

  .list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    grid-gap: $block-gap;
    margin-bottom: 2em;
  }

  .card {
    @extend %box-radius, %button-shadow;

    position: relative;
    overflow: hidden;

    @include transition;

    color: $c-font;

    &:hover {
      @extend %button-raised-shadow;
    }

    .img {
      @extend %video;

      background-size: cover;

      @include transition;
    }

    &:hover .img {
      opacity: 0.5;
    }

    .info {
      @extend %metal;

      display: block;
      padding: 6px 8px;
      border: $border;
      border-top: 0;
    }

    .title {
      font-weight: bold;
      display: block;
      height: 40px;
    }

    .reveal {
      @extend %metal;

      position: absolute;
      top: 100%;
      width: 100%;
      height: 80%;
      border-top: $border;
      z-index: 1;
      padding: 10px 10px 0 10px;
      opacity: 0;

      @include transition;
    }

    &:hover .reveal {
      transform: translateY(-100%);
      opacity: 1;
    }

    .duration {
      position: absolute;
      bottom: 1px;
      right: 1px;
      z-index: 2;
      opacity: 1;
      padding: 0 5px;
      background: fade-out($c-bg-box, 0.2);
    }

    .view {
      @extend %box-radius;

      position: absolute;
      top: 5px;
      left: 5px;
      z-index: 2;
      padding: 3px 5px;
      background: rgba(0, 0, 0, 0.7);
      color: #ddd;
      text-transform: uppercase;
      font-weight: bold;
    }

    .full-title {
      font-weight: bold;
      display: block;
    }

    .author {
      display: block;
      margin-bottom: 0.8em;
      opacity: 0.8;
    }

    .target {
      text-transform: uppercase;
      text-align: center;
      display: block;
      margin-bottom: 0.8em;
    }

    .tags span {
      display: block;
    }
  }

  .show {
    .embed {
      @extend %video, %box-radius-top;

      overflow: hidden;
      margin-bottom: 2em;
    }

    .meta {
      padding: 0 25px 10px 25px;

      .target {
        display: block;
        text-align: center;
        text-transform: uppercase;
        margin-bottom: 1em;
      }

      .author {
        color: $c-font-dim;
        font-size: 1.5em;
        margin-right: 15px;
      }

      .tag {
        color: $c-font-dim;
        font-weight: bold;
        margin-right: 5px;
      }

      .author:hover,
      .tag:hover {
        color: $c-link;
      }

      .description {
        margin-top: 1em;
      }
    }
  }

  .subnav {
    text-transform: capitalize;

    a {
      @extend %flex-between;

      padding: 0.5em 0.8em;

      em {
        font-weight: bold;
        color: $c-font-dim;
        margin-left: 1em;

        @include breakpoint($mq-subnav-top) {
          display: none;
        }
      }

      &.full span::before {
        content: '+';
        font-size: 1.2em;
        margin-right: 0.5em;
        font-weight: bold;
      }

      &.checked {
        @extend %box-radius-left;

        font-weight: bold;
        background: $c-bg-box;
        border-bottom: $border;

        span::before {
          content: '-';
        }

        @include breakpoint($mq-subnav-top) {
          background: $c-accent;
          color: $c-accent-over;
        }
      }

      &.empty {
        color: $c-font-dimmer;
        cursor: default;
      }

      &:hover span::before {
        color: $c-accent;
      }
    }
  }

  .under-tags {
    margin: 1em 0;
    text-align: center;
  }

  .tag-list {
    text-align: justify;

    a {
      @extend %box-radius;

      color: $c-font;
      display: inline-block;
      padding: 3px 5px;
      margin: 5px 5px;
      background: $c-bg-zebra;
      text-transform: capitalize;

      &:hover {
        @extend %button-shadow;

        background: $c-bg-box;
      }

      em {
        font-weight: bold;
        opacity: 0.6;
        color: $c-brag;
      }
    }
  }

  #video {
    .not_found {
      margin-top: 200px;
      text-align: center;
    }

    .not_much {
      margin-top: 100px;
      text-align: center;
    }

    .not_much.nb_0 {
      margin-top: 200px;
    }

    .explain {
      text-align: center;
      margin: 50px 0 35px 0;
    }
  }
}
